package com.ztgf.commodity.models.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.ztgf.commodity.models.bo.AttributesQueryBO;
import com.ztgf.commodity.models.bo.CommodityParamSaveBO;
import com.ztgf.commodity.models.dto.CommodityParamDTO;
import com.ztgf.commodity.models.vo.CommodityParamVO;
import com.ztgf.common.constant.Result;

import java.util.List;

/**
 * 商品参数信息表服务
 *
 * @author chenyu.wang
 * @Date 2020-06-15 10:12:31
 */
public interface ICommodityParamService extends IService<CommodityParamDTO> {
    boolean add(CommodityParamSaveBO saveBO);

    /**
     * description: 查询商品参数信息列表
     * param: []
     * author: chenyu.wang
     * date: 2020-07-09
     * return: com.baomidou.mybatisplus.plugins.Page<com.ztgf.commodity.models.vo.CommodityParamVO>
     */
    Page<CommodityParamVO> queryPageList(AttributesQueryBO bo);

    /**
     * description: 根据id查询参数详情
     * param: [id]
     * author: chenyu.wang
     * date: 2020-07-09
     * return: com.ztgf.commodity.models.vo.CommodityParamVO
     */
    CommodityParamVO getById(Long id);

    /**
     * description: 逻辑删除
     * param: [id]
     * author: chenyu.wang
     * date: 2020-07-09
     * return: boolean
     */
    boolean updateState(Long id);

    Result<List<String>> newAdd(String object);

    Result<List<String>> newUpdate(String object);

    /**
     * @Description: 后台管理系统属性管理参数属性列表新
     * @Author: chenyu.wang
     * @Params: [bo]
     * @Date: 2020.11.04 10:53
     */
    Page<CommodityParamVO> newQueryPageList(AttributesQueryBO bo);
}
